API Changes between Android SDK 13.2.024 and 14.0.002
Major: interface MobileAccess:
The stopScanning() and startScanning() methods have been replaced with a single setScanning(boolean enabled) method
The setReaderUpdateListener(listener) method has been replaced with a pair of methods:
addReaderUpdateListener(listener) and removeReaderUpdateListener(listeners) to allow for multiple concurrent liseners.
The enableAutomaticAccess() and disableAutomaticAccess() methods have been replaced with a single setAutomaticAccessEnabled(boolean enabled) method.
A new boolean getAutomaticAccessEnabled() method has been added which lets you read the value; previously it was write-only.
A new BluetoothScanMode getBluetoothBackgroundScanMode() method has been added which lets you read the value; previously it was write-only.
Minor: interface AccessResult:
This is now a class
A new getAccessMode() method has been added, which returns an enum AccessMode.
This new mode is in support of the Command Centre 8.30 feature wherein the Gallagher Command Centre Mobile App can now read Mobile Credentials directly (phone-to-phone). There are multiple scenarios which the app supports, and the AccessMode enum conveys which mode was used. It has the following values:
ACCESS- Indicates the Command Centre Mobile App is performing access decisionsCHALLENGE- Indicates the Command Centre Mobile App is performing spot-checkEVAC- Indicates the Command Centre Mobile App is performing evacuationSEARCH- Indicates the Command Centre Mobile App is simply looking up cardholder details
Minor: interface ReaderAction:
This has been converted to a class which is Parcelable.
Previously this was represented by an opaque internal type which couldn’t be saved/restored (i.e. when marshalling across to JavaScript). It now supports these scenarios
Minor: enum ReaderActionType:
Two new values have been added: REQUEST_ACCESS and ENUMERATE
Minor: enum ReaderConnectionError:
This has been synchronized with the iOS SDK and converted to a class hierarchy. This enables associated values to be passed alongside different kinds of errors (Mimicing the behavior of enums with associated values in Swift).
We now have
ReaderConnectionError:
- Forbidden
- ReaderUnavailable { String peripheralId }
- TransactionInProgress
- ActivityNotPresent
- BluetoothDisabled
- UserCancelled
- RemoteClose
- SecondFactorRequired
- UnlockRequired
- InvalidatedCredential
- Unexpected { Throwable cause }
Minor: enum RegistrationError:
This has been synchronized with the iOS SDK and converted to a class hierarchy. This enables associated values to be passed alongside different kinds of errors (Mimicing the behavior of enums with associated values in Swift).
We now have
RegistrationError:
- NetworkFailure { Throwable cause }
- InvalidResponse { String message }
- UserCancelledRegistration
- UserNotEnrolled
- InvitationGone
- InvitationNotFound
- Unexpected { String message }